F submission
一つの記録を正しく投稿できるようにする。
Open.icon F1
/submit.htmlは次の要件を満たす
ボタン・ラベル・テキストボックス
投稿できるURLは一つだけで良い。
テキストボックスにある内容をサーバーに送信する
送信すると、送信しました!と言う情報が出てくる
ポップアップでOK
後々ここの演出をどうするか考えたいが
Open.icon F2
プレイヤー側からメモ・タグを添付して貼り付けられるようにする。
Open.icon F3
POST /submissions/から投稿情報を受け取ったあと、次をstdoutに出力する
入力したURL
メモ
任意タグのIDリスト
タグはプレフィックス付きのもの
!ここで、走者IDに対応するタグが一つ追加されていることが望ましい
すでにそのタグが追加されているときはその限りでない。
走者ID
!現在はここは適当に決め打ってOK
ログイン必要
Open.icon F5
データベースはテーブル「保留」を持つ
Open.icon F6
/post後、保留データベースにデータが追記されるものとする。
Open.icon F7
GET /refillsにアクセスすると次のレスポンスが返ってくる
未記入の保留一覧
後々管理者権限でアクセス制限をかける必要あり
Open.icon F8
GET /refill/{id}にアクセスすると次が返ってくる
JSON
保留のID・ある保留のURL・メモ・タグのIDリスト・投稿者
管理者権限でアクセス制限をかける必要あり
Open.icon F9
POST /submission/{id}に次の情報を投げると、recordsデータベースに書き込まれる
メモ
時間
タスクタグ
能力タグリスト
走者タグリスト
タグリスト
作品タグを必ず一つ含む
コピー能力タグを必ず一つ以上含んでいる
タスクタグを必ず一つ含んでいる
元々の保留テーブルにあったタプルは、完了状態にする。
後々管理者権限が必要
書き込めたら200 OK, それ以外だったら500 Internal Server Error
入力がおかしかったら400 Bad Request
Open.icon F10
インタフェースを作る。
記録詳細コンポーネントを作る。
編集可能な状態とそうでない状態を切り替えられるようにする。
表示画面・入力画面・編集画面の使い回しを図る。
そうした方が、開発工数もユーザの混乱も減りやすい...はず。
入力欄の下に、入力のバリデーションの状況を判定する欄を用意しておきたい。
タグ表示リスト・URL表示欄
表示する内容をある程度の範囲でカスタマイズできると嬉しい。
次の欄が表示されるようにする。
URL表示欄
時間欄
タグリスト
入力判定が行えるようにしておく。
説明欄
Open.icon F11
refillの内容を元に、補充されるようにする。
Open.icon F12
APIの入力形式に合わせて出力できるようにする。
POST /api/submission?s=""
POST /api/records?s=""